package com.pingan.haofang.searchcloud.monitor.service;

import com.pingan.haofang.searchcloud.common.dto.PageDTO;
import com.pingan.haofang.searchcloud.monitor.dto.ChartReportResultDTO;
import com.pingan.haofang.searchcloud.monitor.dto.DashboardResourceDTO;
import com.pingan.haofang.searchcloud.monitor.dto.DashboardResourceInfoQueryDTO;
import com.pingan.haofang.searchcloud.monitor.dto.DashboardResourceInfoResultDTO;

import java.util.List;
import java.util.Map;

/**
 * @author EX-LIUXIANWEN001
 * @date 2018/10/18
 * @since 1.0.0
 */
public interface DashboardResourceInfoService {

    /**
     * 保存系统资源使用详情
     *
     * @param
     * @return
     */
    void saveDashboardResourceInfo();

    /**
     * 硬件资源使用详情查询
     *
     * @param dto
     * @return
     */
    Map<String, List<ChartReportResultDTO>> queryDashboardResourceList(DashboardResourceInfoQueryDTO dto);

    /**
     * 硬件资源使用详情查询
     *
     * @param dto
     * @return
     */
    PageDTO<DashboardResourceInfoResultDTO> queryDashboardResourceView(DashboardResourceInfoQueryDTO dto);

    /**
     * 预警判断
     * 
     * @param
     * @return
     */
    void checkDashboardResourceWrning(double diskOccupancyRate, double solrHealthRate, String clusterName,
            String nodeIp);

    /**
     * 硬件资源使用详情查询
     *
     * @param
     * @return
     */
    DashboardResourceDTO queryDashboardResource();
}
